package grafica.moderador.controladores;

import java.awt.Color;
import java.io.Serializable;
import java.rmi.RemoteException;

import persistencia.PersistenciaException;

import logica.datatypes.Jugador.DataJugador_R1;
import logica.datatypes.Partida.DataPartida_R1;
import logica.datatypes.Partida.DataPartida_R4;
import logica.excepciones.JugadoresException;
import logica.excepciones.PartidaException;
import logica.fachadas.IFachadaModerador;

import grafica.moderador.ventanas.VentanaIniciarPartida;
import grafica.moderador.ventanas.VentanaMenuModerador;
import grafica.moderador.ventanas.VentanaNuevaPartida;

public class ControladorIniciarPartida implements Serializable{

	private VentanaIniciarPartida ventanaIniciarPartida;
	private ControladorMenuModerador controladorMenuModerador ;
	private final static long serialVersionUID = 1;
	
	public ControladorIniciarPartida(VentanaIniciarPartida ventanaIniciarPartida,ControladorMenuModerador controladorMenuModerador){	
		this.controladorMenuModerador = controladorMenuModerador;
		this.ventanaIniciarPartida = ventanaIniciarPartida;
		//listarPartidasNoInicializadas();
	}
	
	public void iniciarPartida(String partida){
			
			try{
				IFachadaModerador fachadaModerador = controladorMenuModerador.getFachadaModerador();
				fachadaModerador.iniciarPartida(partida);
				//controladorMenuModerador.setJTextPane("Info: La partida se ha iniciado correctamente. Para ello se ha cargado el mapa");
				controladorMenuModerador.setJButtonCargarMapa();
			} catch (RemoteException e1) {
				controladorMenuModerador.setJTextPane("Error RemoteException");
			} catch (PartidaException e2) {
				controladorMenuModerador.setJTextPane(e2.darMensaje());
			} catch (PersistenciaException e4) {
				controladorMenuModerador.setJTextPane(e4.darMensaje());
			}
		}
	
	
	public void listarPartidasNoInicializadas() {
		try{
			DataPartida_R4[] dataPartida_R4 = controladorMenuModerador.getFachadaModerador().listarPartidasNoInicializadas();
			
			for (int i = 0; i < dataPartida_R4.length; i++) {
				ventanaIniciarPartida.cargarItemCombo(dataPartida_R4[i].getCodigo());
			}
			
		} catch (RemoteException e1) {
			controladorMenuModerador.setJTextPane("Error RemoteException");
		}
	}

}
